Dynomotion

Group: DynoMotion Message: 1493 From: william Carrothers Date: 7/12/2011
Subject: Continued tuning
Hello..
 
Ran a bit cutting job on my old (smaller) machine this weekend and really got to get motovated to getting the Kmotion / bigger machine working and tuned up..
 
Anyway I was working through the Mach setup stuff.  and in the http://www.dynomotion.com/Help/Mach3Plugin/Mach3Encoders.htm
I don't fully understand the zero buttons sections.

Or rather how to adjust the existing buttons to run what was in the instructions:\
NotifyPlugins(10100)       'tell KFlop to set command to encoder
Sleep 300                         'make sure mach updates
DoOEMButton (1008)     'calculate work offset
 
I can put a new button on the mach screen that I can edit the hidden script routine for that button but didn't know if that is what you ment.
 
Sorta confused also about what or where the xref buttons are.  as I don't see buttons like that on my mach screens.  (running mach version 3.042.040)
 
 
Think I'm pretty close now..  Just have to get through what my PID settings for each axis should be..
 
b.


--- On Tue, 7/12/11, Tom Kerekes <tk@...> wrote:

From: Tom Kerekes <tk@...>
Subject: Re: [DynoMotion] Coord Motion Callbacks
To: DynoMotion@yahoogroups.com
Date: Tuesday, July 12, 2011, 2:09 AM

 
Hi Brad,
 
See below

--- On Mon, 7/11/11, bradodarb <bradodarb@...> wrote:

From: bradodarb <bradodarb@...>
Subject: [DynoMotion] Coord Motion Callbacks
To: DynoMotion@yahoogroups.com
Date: Monday, July 11, 2011, 12:40 PM

 
Tom,

Before I move on to the interpreter, I want to "button up" what we have so far.

I have a few questions about CoordMotion functions.

Questions for clarification:

What does SetTPParams do?
This needs to be called whenever Motion Parameters related to the Trajectory Planner have been changed.

What does DownloadDoneSegments do?
 
Coordinated motion commands such as Straight Feeds and Arcs are initialy added to the Trajectory Planner's segment buffer.  As more and more pieces of the path are added the TP can further optimize the motion.  Basically as the path lengthens there can be a ripple effect which may effect many earlier segments.  At some point the Trajectory Planner can determine segments that can be proven to not be possible to further optimize or change regardless if additional path is added.  These segments are flagged as "Done" from a trajectory planning stand point and are free to be downloaded to KFLOP.  This routine will attempt to download those segments to KFLOP motion segment buffer. 

What is DoRateAdjustments?
The segments in the trajectory planner's buffer have rate (speed) and acceleration limitations.  These are computed from constraints of the axes involved and the curvature of motion and such which are in turn a function of the direction of the segment and the angles between segments.  In cases where the segments are modified due to other optimizations such as corner rounding and collinear tolerance combining things can change such that the rates need to be re-evaluated.  This function performs that task. 

What is the diffference between OutputSegment and DoSpecialCommand ?
Besides downloading motion segments into KFLOP's Coordinate Motion Buffer "Special Commands" can be inserted into the buffer to activate I/O bits and other simple operations.  This allows those operations to be executed perfectly synchronized with the possibly continuous motion.  This is useful with something like Laser scanning where the beam needs to be switched on or off at an exact point.    

How is MeasurePointAppendToFile used?
This measures the current x,y,z axes positions and writes it into a disk file.  This is used in conjunction with making a geometric correction table.

What does DoKMotionCmd do?
Any Console Script commands can be embedded into GCode as a special form of comment.  These commands are sent to KFLOP when they are interpreted.  This routine is used to send the command to KFLOP.

What does DoKMotionBufCmd do?
Certain commands can be embedded into GCode which are not executed as they are interpreted.  Instead they are included into the motion buffer and executed by KFLOP at the same time as the corresponding motion is executed.  This routine is used to insert the Buffered Command into the data stream.
 


What is the diffference between WaitForSegmentsFinished and
This routine waits until all the Coordinated Motion Segments have been completely finished
WaitForMoveXYZABCFinished ?
This routine waits until a multi axes rapid move is completed

What does FlushSegments do?
This flushes any remaining coordinated motion segment within the Trajectory Planner's segment buffer that have not been downloaded to KFLOP's Coordinated Motion Buffer

What is the differences between
 
Abort
 
Abort causes all motion to abruptly stop usually due to something catastrophic like a communication error
 
Halt
 
Halt cause motion to stop in a controlled manner.  A feed hold is commanded so that the motion decellerates along the intended path.  After the system completely stops, the exact point in the Coordinated Motion Buffer where the stop actually happened is uploaded and the GCode Interpreter is rewound to that point.  
 
and ExecutionStop?
Called when the Interpreter is stopping due to either a single step, a halt, or program stop.  If some segments have been downloaded and execution is in progress, then we should send whatever is left in the TP which should bring everything to a  safe stop similar as if we had a break angle at this point
 

Sorry for so may questions,

-Brad Murry
 
Hope this helps
TK

Group: DynoMotion Message: 1494 From: Tom Kerekes Date: 7/12/2011
Subject: Re: Continued tuning
Hi Bill,
 
On the Mach3 Settings Screen the Encoder Position is displayed and there should be some Buttons next to them labled "Zero".  You should be able to use those.  You need a screen editor program to change them.  If you wish to make new buttons and put the code in them then that should work also.
 
Regards
TK

--- On Tue, 7/12/11, william Carrothers <wcarrothers@...> wrote:

From: william Carrothers <wcarrothers@...>
Subject: [DynoMotion] Continued tuning
To: DynoMotion@yahoogroups.com
Date: Tuesday, July 12, 2011, 7:35 AM

 
Hello..
 
Ran a bit cutting job on my old (smaller) machine this weekend and really got to get motovated to getting the Kmotion / bigger machine working and tuned up..
 
Anyway I was working through the Mach setup stuff.  and in the http://www.dynomotion.com/Help/Mach3Plugin/Mach3Encoders.htm
I don't fully understand the zero buttons sections.

Or rather how to adjust the existing buttons to run what was in the instructions:\
NotifyPlugins(10100)       'tell KFlop to set command to encoder
Sleep 300                         'make sure mach updates
DoOEMButton (1008)     'calculate work offset
 
I can put a new button on the mach screen that I can edit the hidden script routine for that button but didn't know if that is what you ment.
 
Sorta confused also about what or where the xref buttons are.  as I don't see buttons like that on my mach screens.  (running mach version 3.042.040)
 
 
Think I'm pretty close now..  Just have to get through what my PID settings for each axis should be..
 
b.


--- On Tue, 7/12/11, Tom Kerekes <tk@...> wrote:

From: Tom Kerekes <tk@...>
Subject: Re: [DynoMotion] Coord Motion Callbacks
To: DynoMotion@yahoogroups.com
Date: Tuesday, July 12, 2011, 2:09 AM

 
Hi Brad,
 
See below

--- On Mon, 7/11/11, bradodarb <bradodarb@...> wrote:

From: bradodarb <bradodarb@...>
Subject: [DynoMotion] Coord Motion Callbacks
To: DynoMotion@yahoogroups.com
Date: Monday, July 11, 2011, 12:40 PM

 
Tom,

Before I move on to the interpreter, I want to "button up" what we have so far.

I have a few questions about CoordMotion functions.

Questions for clarification:

What does SetTPParams do?
This needs to be called whenever Motion Parameters related to the Trajectory Planner have been changed.

What does DownloadDoneSegments do?
 
Coordinated motion commands such as Straight Feeds and Arcs are initialy added to the Trajectory Planner's segment buffer.  As more and more pieces of the path are added the TP can further optimize the motion.  Basically as the path lengthens there can be a ripple effect which may effect many earlier segments.  At some point the Trajectory Planner can determine segments that can be proven to not be possible to further optimize or change regardless if additional path is added.  These segments are flagged as "Done" from a trajectory planning stand point and are free to be downloaded to KFLOP.  This routine will attempt to download those segments to KFLOP motion segment buffer. 

What is DoRateAdjustments?
The segments in the trajectory planner's buffer have rate (speed) and acceleration limitations.  These are computed from constraints of the axes involved and the curvature of motion and such which are in turn a function of the direction of the segment and the angles between segments.  In cases where the segments are modified due to other optimizations such as corner rounding and collinear tolerance combining things can change such that the rates need to be re-evaluated.  This function performs that task. 

What is the diffference between OutputSegment and DoSpecialCommand ?
Besides downloading motion segments into KFLOP's Coordinate Motion Buffer "Special Commands" can be inserted into the buffer to activate I/O bits and other simple operations.  This allows those operations to be executed perfectly synchronized with the possibly continuous motion.  This is useful with something like Laser scanning where the beam needs to be switched on or off at an exact point.    

How is MeasurePointAppendToFile used?
This measures the current x,y,z axes positions and writes it into a disk file.  This is used in conjunction with making a geometric correction table.

What does DoKMotionCmd do?
Any Console Script commands can be embedded into GCode as a special form of comment.  These commands are sent to KFLOP when they are interpreted.  This routine is used to send the command to KFLOP.

What does DoKMotionBufCmd do?
Certain commands can be embedded into GCode which are not executed as they are interpreted.  Instead they are included into the motion buffer and executed by KFLOP at the same time as the corresponding motion is executed.  This routine is used to insert the Buffered Command into the data stream.
 


What is the diffference between WaitForSegmentsFinished and
This routine waits until all the Coordinated Motion Segments have been completely finished
WaitForMoveXYZABCFinished ?
This routine waits until a multi axes rapid move is completed

What does FlushSegments do?
This flushes any remaining coordinated motion segment within the Trajectory Planner's segment buffer that have not been downloaded to KFLOP's Coordinated Motion Buffer

What is the differences between
 
Abort
 
Abort causes all motion to abruptly stop usually due to something catastrophic like a communication error
 
Halt
 
Halt cause motion to stop in a controlled manner.  A feed hold is commanded so that the motion decellerates along the intended path.  After the system completely stops, the exact point in the Coordinated Motion Buffer where the stop actually happened is uploaded and the GCode Interpreter is rewound to that point.  
 
and ExecutionStop?
Called when the Interpreter is stopping due to either a single step, a halt, or program stop.  If some segments have been downloaded and execution is in progress, then we should send whatever is left in the TP which should bring everything to a  safe stop similar as if we had a break angle at this point
 

Sorry for so may questions,

-Brad Murry
 
Hope this helps
TK